// inc/Chess/AI.h
#ifndef AI_H
#define AI_H

#include "Board.h"
#include <vector>
#include <utility>
using namespace std;

class AI {
public:
    AI(Board* board, bool isRed);
    ~AI() = default;
    
    // 执行AI移动
    bool makeMove();
    
private:
    Board* gameBoard;
    bool isRedSide;
    
    // 评估棋局价值
    int evaluateBoard();
    
    // 生成所有可能的移动
    vector<pair<pair<int, int>, pair<int, int>>> generateMoves(bool forRed);
    
    // 简单的AI算法，随机选择一个合法移动
    pair<pair<int, int>, pair<int, int>> selectRandomMove(
        const vector<pair<pair<int, int>, pair<int, int>>>& moves);
  
};

#endif